package com.hzjy.api.mapper;

import com.hzjy.api.beans.HzjyDelist;
import com.hzjy.common.utils.PageData;

import java.util.List;

public interface ApiDelistMapper {
    List<PageData> getIndexDelist();

    /**
     * 查询摘牌申请
     *
     * @param delistId 摘牌申请ID
     * @return 摘牌申请
     */
    public HzjyDelist selectHzjyDelistById(Long delistId);

    /**
     * 查询摘牌申请列表
     *
     * @param hzjyDelist 摘牌申请
     * @return 摘牌申请集合
     */
    public List<HzjyDelist> selectHzjyDelistList(HzjyDelist hzjyDelist);

    /**
     * 新增摘牌申请
     *
     * @param hzjyDelist 摘牌申请
     * @return 结果
     */
    public int insertHzjyDelist(HzjyDelist hzjyDelist);

    /**
     * 修改摘牌申请
     *
     * @param hzjyDelist 摘牌申请
     * @return 结果
     */
    public int updateHzjyDelist(HzjyDelist hzjyDelist);

    /**
     * 删除摘牌申请
     *
     * @param delistId 摘牌申请ID
     * @return 结果
     */
    public int deleteHzjyDelistById(Long delistId);

    /**
     * 批量删除摘牌申请
     *
     * @param delistIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteHzjyDelistByIds(Long[] delistIds);

    /**
     * 查询分页记录
     *
     * @param pd
     * @return
     */
    List<HzjyDelist> selectHzjyDelistPageList(PageData pd);

    /**
     * 查询分页记录总数
     *
     * @param pd
     * @return
     */
    Integer selectHzjyDelistPageCount(PageData pd);

    /**
     * 获取用户摘牌分类状态的数量
     */
    List<PageData> getDelistingStateNum(Long userId);

    /**
     * 查询签约超时的摘牌
     *
     * @return
     */
    List<HzjyDelist> querySignTimeOutDelist();
}
